package com.li.onjava8.concurrent.under.atomic;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * Java 5 引入了专用的原子变量类，例如 AtomicInteger、AtomicLong、AtomicReference 等。这些提供
 * 了原子性升级。这些快速、无锁的操作，它们是利用了现代处理器上可用的机器级原子性。
 */
public class AtomicIntegerTest extends IntTestable {
    private AtomicInteger i = new AtomicInteger(0);

    public int getAsInt() {
        return i.get();
    }

    @Override
    void eventIncrement() {
        i.addAndGet(2);

    }

    public static void main(String[] args) {
        Atomicity.test(new AtomicIntegerTest());
    }
}
